This repository contains an implementation of the structure learning methods described in "On the Convergence of Continuous Constrained Optimization for Structure Learning".
If you find it useful, please consider citing:
@inproceedings{Ng2022convergence,
author = {Ng, Ignavier and Lachapelle, Sébastien and Ke, Nan Rosemary and Lacoste-Julien, Simon and Zhang, Kun},
title = {On the Convergence of Continuous Constrained Optimization for Structure Learning},
booktitle = {International Conference on Artificial Intelligence and Statistics},
year = {2022},
}
- Python 3.6+
numpy
scipy
python-igraph
torch
- To use quadratic penalty method, set
opt_type
toqpm
. - To use augmented Lagrangian method, set
opt_type
toalm
. - See examples/linear.ipynb and examples/nonlinear.ipynb for a demo in the linear and nonlinear cases, respectively.
- Most of the code is obtained and modified from the implementation of NOTEARS, and we are grateful to the authors of NOTEARS for releasing their code.